System.Collections.ObjectModel.KeyedCollection<TKey,TItem>。ChangeItemKey 方法

本文提供了此 API 参考文档的补充说明。

该方法 ChangeItemKey(TItem, TKey) 不会修改嵌入的 item键;它只是替换保存在查找字典中的密钥。 因此,如果newKey与嵌入item的键不同,则无法使用返回的GetKeyForItem密钥进行访问item

如果没有查找字典, KeyedCollection<TKey,TItem> 则此方法不执行任何操作。

每个密钥都必须是唯一 KeyedCollection<TKey,TItem> 的。 键不能为 null

此方法是 O(1) 操作。

实现者的说明

在修改嵌入在项中的键之前,必须调用此方法以更新查找字典中的密钥。 如果字典创建阈值为 -1,则不需要调用此方法。

请勿将 ChangeItemKey 该方法公开为派生类的公共方法。 滥用此方法会使查找字典与项键不同步。 例如,将键 null 设置为,然后将其设置为另一个值会将项的多个键添加到查找字典。 在内部公开此方法以允许可变项键:当项的键更改时,此方法用于更改查找字典中的键。